package su.product.dao;
import java.util.List;

import net.kuakao.core.dto.PagerDTO;
import java.sql.SQLException;
import su.product.entity.Material;

/**
 * 原料
 * @作者 autopub
 * @创建日期 2012-08-28
 * @版本 V 1.0
 *
 */
public interface IMaterialDAO {
	
	/**
	 * 原料分页查询
	 * @param s 查询条件
	 * @return 原料列表
	 * @throws SQLException
	 */
	public List<Material> queryByPage(PagerDTO s) throws SQLException;
	
	/**
	 * 取全部
	 * @return 原料列表
	 * @throws SQLException
	 */
	public List<Material> getAll() throws SQLException;
	
	/**
	 * 查询单个原料对象
	 * @param id
	 * @return 原料
	 * @throws SQLException
	 */
	public Material getById(int id) throws SQLException;
	
	/**
	 * 创建原料
	 * @param o 原料实体类
	 * @throws SQLException
	 */
	public void insert(Material o) throws SQLException;
	
	/**
	 * 更新原料
	 * @param o 原料实体类
	 * @throws SQLException
	 */
	public void update(Material o) throws SQLException;
	
	/**
	 * 删除原料
	 * @param id 原料ID
	 * @throws SQLException
	 */
	public void remove(int id) throws SQLException;

	/**
	 * 修改分类
	 * @param productId
	 * @param oldCateId
	 * @param newCateId
	 * @throws Exception
	 */
	public void updateProductCate(int productId,int oldCateId,int newCateId)throws Exception;
	
	/**
	 * 修改原料的库存量
	 * @param materialId
	 * @param totalNum 即时总量
	 * @throws Exception
	 */
	public void updateTotalNum(int materialId,double totalNum)throws Exception;
}

